--串口调试FPGA的LLCOM脚本示例


-------------------------------------- 指令格式 ----------------------------------------
--| 指令头[一个字节]   | 指令编号[一个字节]   | 指令数据段[4个字节]  | 指令尾[一个字节]    |
--| :--------------:  | :----------------: | :-----------------: | :--------------:  |
--|       0xAA        |       0-255        |         --          |       0x55        |
---------------------------------------------------------------------------------------

---------------------------------------
--函数名:int2hex
--功能 ：32位int的十进制标志转8位十六进制
-- 表示
--例如：12 --> 0000000c  
-- -12 --> fffffff4
---------------------------------------
function int2hex(x)
    local b32HH = (x >> 24) & 0xff;
    local b32HL = (x >> 16) & 0xff;
    local b32LH = (x >>  8) & 0xff;
    local b32LL = (x      ) & 0xff;
    local a = string.format("%02x",b32HH)
    local b = string.format("%02x",b32HL)
    local c = string.format("%02x",b32LH)
    local d = string.format("%02x",b32LL)
    local e=a..b..c..d
    return e
end
---------------------------------------
--函数名:char2hex
--功能 ：十进制char转16进制
--输入： 0-255 
--例如: 12  --> 0c  
--     -12  --> f4
---------------------------------------
function char2hex(x)
    x= x & 0xff;
    return string.format("%02x",x)
end
------------------
--mem.txt的内容为
--aa020000000155
--aa020000000255
--aa020000000355
--aa020000000455
------------------
sys.taskInit(function ()
	local cmd=1
    local cmd_data=12
    local cnt = 10
    local str=""
    local file = io.open("C:/Users/heer/Desktop/llcom/file/mem.txt","r") 
	for line in file:lines() do
		str=str..line
		log.info("print",line)
	end
	io.close(file) --> 关闭文件 
   	log.info("all",str)
    --str=char2hex(170)..char2hex(cmd)..int2hex(cmd_data)..char2hex(85)
    str=string.fromHex(str)
    log.info("send data",apiSendUartData(str),"cmd="..cmd,"cmd_data="..cmd_data)
    --cnt = cnt-1
end)












